Secure pairing of networked devices

ABSTRACT

In one embodiment, a secure communication is initiated between two devices by generating a pairing message from a predetermined static identification on the first device, transmitting the pairing message to the second device, generating a pairing identification from the static identification, and initiating a secure communication between the first and second device if the pairing message corresponds with the pairing identification.

TECHNICAL FIELD

The present disclosure relates generally to wireless network securitybetween two devices.

BACKGROUND

Wireless networking has become a mainstream technology. End users areadopting wireless technology in record numbers despite securityconcerns. Unfortunately, many current wireless security mechanismsdemand significant user interactions including multiple steps,repetitive procedures, and out-of-band transfers of complex passwords orsecurity indicias. Even mechanisms considered to be “simplified” may beunacceptably complex for many wireless network users or may be prone tocompromise.

For example, different “push-button” methodologies are used to simplifysecurity set-up. One current push-button security implementation isconfigured using a static seed value that may be determined throughinspection over time and, thus, may become insecure. Another commonpush-button security implementation is configured using a fixed seedvalue, widely known to be zero, which may allow easy access tounsophisticated network interlopers. In one proposed improved securityprocedure, a wireless network user supplies a variable seed value for asecurity process by pushing a security configuration button from one tothirty-two times for each wireless device to be secured. However, eventhese improved procedures may be thwarted by pragmatic humanlimitations. For example, a typical user is unlikely to push theconfiguration button more than a few times, instead using just the firstfew values in the available range of seed values. This practice may notprovide sufficient network security and may lead to an increase intechnical support calls to resolve configuration errors. In anotherproposed improved security procedure, a wireless network user entersinto an access point (AP) or wireless router an eight-digitidentification number displayed on a wireless client. In addition tobeing cumbersome to the network user, this procedure requires an AP orwireless router to have an interface with an indicia pad, at asignificant increase in cost. As a result, wireless network users mayelect not to activate wireless network security mechanisms, despite thedaunting risks posed by an unsecured wireless network operation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows two devices engaging in a secure communication according toone embodiment;

FIG. 2 is a flowchart showing one embodiment of a method of securepairing of two devices;

FIG. 3 is a flowchart showing one embodiment of pre-assigned seeding foruse in the flowchart of FIG. 2;

FIG. 4 is a flowchart showing another embodiment of a method of securepairing of two devices;

FIG. 5A is a flowchart showing one embodiment of registrar-assigned seedgeneration for use in the flowchart of FIG. 4;

FIG. 5B is a flowchart showing one embodiment of registrar seedgeneration for use in the flowchart of FIG. 5A; and

FIG. 5C is a flowchart showing one embodiment of registrar-seed transferfor use in the flowchart of FIG. 5A.

Same reference numbers indicate the same step or element in the figures.

DESCRIPTION

Overview

According to one aspect of the invention, a secure communication isinitiated between two devices by generating a pairing message from apre-determined static identification on the first device, transmittingthe pairing message to the second device, generating a pairingidentification from the static identification, and initiating a securecommunication between the first and second device if the pairing messagecorresponds with the pairing identification.

According to another aspect, an enrollee device, such as a wirelessclient, generates a pairing message from a pre-determined staticidentification, such using a number from a MAC ID address as a seedvalue. The pairing message is transmitted to a registrar device, such asan access point, which then compares the pairing message to its owngenerated pairing identification from the pre-determined staticidentification. If the pairing message corresponds with the pairingidentification, a secure communication with the enrollee is initiated bythe registrar.

Description of Example Embodiments

FIG. 1 shows one embodiment of a wireless domain 100 that includes aregistrar 102, which may be a wireless access point (WAP), and anenrollee 104, which may be a wireless client. Registrar 102 employs aWAP wireless interface 106 to communicate with enrollee 104 and may beconfigured to bridge network communications between enrollee 104 andanother network segment or network client. Registrar 102 is configuredwith a registrar interface 108, which may include one or both of aregistrar input element 110 or a registrar display element 112.Registrar 102 also includes a registrar memory 114, which may be used tostore domain membership information, such as enrollee identification. Inaddition, registrar 102 may be configured with an out-of-band (OOB)interface 116 to facilitate out-of-band data transfers, for example,using a portable memory device (not shown) or a mating interfaceconnection coupled to a computing device (not shown). Examples of amating interface connection include a wireline USB- or IEEE 1394-likeinterface connection or a wireless PAN interface connection, such as aBluetooth® interface connection. Registrar memory 114 may be coupled toone or more of WAP wireless interface 106, registrar interface 108, orOOB interface 116. Examples of registrar 102 include a standalonewireless access point (WAP) or a WAP integrated within another device,such as a router or a gateway.

Similarly, enrollee 104 includes a wireless interface 118, an enrolleeinterface 120, and an enrollee memory 122. Wireless interface 118 mayfacilitate communication with registrar 102. Enrollee interface 120includes one or both of an enrollee input element 124 or an enrolleedisplay element 126. An OOB interface 128 can facilitate out-of-banddata transfers, for example, using a portable memory device or a matinginterface connection coupled to a computing device (not shown). Examplesof a mating interface connection include a wireline USB- or IEEE1394-like interface connection or a wireless PAN interface connection,such as a Bluetooth® interface connection. Enrollee memory 122 may becoupled to one or more of wireless interface 118, enrollee interface120, or OOB interface 128. Examples of enrollee 104 include a dual-bandmobile phone, a hand-held personal digital assistant, or a mobilemonitor.

Registrar 102 and enrollee 104 initiate communications by “pairing,” inwhich both devices share a code or a value to prove that both devicesagree to form a trusted pair. Without loss of generality, when onedevice recognizes another device in an established trusted pair, eachdevice may automatically accept communication from the other, whileexcluding others. It may be possible to improve pairing of wirelessdevices by concealing the shared value shared by registrar 102 andenrollee 104 from potential intruders. A predetermined enrollee ID 130is used as a “shared secret” by which registrar 102 identifies enrollee104 during registrar-enrollee (R-E) pairing. For example, enrollee 104(or wireless client) can have a single number or letter attached to it,such as a digit from the MAC ID that is already printed on everywireless client. Unlike static pre-shared keys which may be associatedand re-used with a particular domain or a particular registrar,predetermined enrollee ID 130 may be used between registrar 102 andenrollee 104, for example, only once during setup of wireless domain100, which may include R-E pairing.

In general, predetermined enrollee ID 130 can be stored in enrolleememory 122 for later retrieval and transmission to registrar 102, forexample, during R-E pairing. From a network user perspective,predetermined enrollee ID 130 may be represented by a pre-assignedindicia or by a registrar-assigned indicia. Pre-assigned indicia can beapplied to enrollee 104, for example, by printing, marking, engraving,or applying an adhesive label. In one embodiment, pre-assigned indiciais a portion of a media access control identifier (MAC ID) 132corresponding to a network interface of enrollee 104. Pre-assignedindicia also may be a product serial number or a randomly-assignedindicia provided by a manufacturer, a vendor, or a supplier.Alternatively, registrar 102 may provide predetermined enrollee ID 130as a registrar-assigned indicia. For example, a push-button on registrar102 can be used to generate a random non-zero PIN when the button isdepressed. This non-zero PIN could then be entered into enrollee inputelement 124 on enrollee 104. A push-button on enrollee 104 could then bepushed to initiate a WiFi Simple Config protocol exchange.

An example of predetermined enrollee ID 130 is a single alphanumericindicia demarcated for the convenience of a network user, as representedby registrar-assigned indicia or by pre-assigned indicia. However,enrollee ID 130, pre-assigned indicia, and registrar-assigned indiciaalso may be numerals, letters, symbols, or a combination thereof. Unlikesecurity implementations subject to pragmatic human limitations or usinga known or static seed value, predetermined enrollee ID 130 produced inaccordance with present embodiments may be distributed over a predefinedrange of possible values.

FIG. 2 is a flowchart showing an example R-E pairing 200, in whichpredetermined enrollee ID 130 is preassigned. R-E pairing 200 isinitiated by actuating (S210) enrollee 104, such as by pressing a buttonor key on enrollee input element 124 associated with pairing. Enrolleeinput element 124 may be operated by a network user (not shown) seekingto pair registrar 102 with enrollee 104. Responsive to actuating (S210),enrollee 104 retrieves (S220) enrollee ID 130, which may be determinedand stored in enrollee memory 122, for example, by a manufacturer,supplier, or vendor. Typically, predetermined enrollee ID 130corresponds to pre-assigned indicia. Enrollee 104 uses enrollee ID 130as a pairing ID to form (S230) a pairing message 140 (FIG. 1), whichenrollee 104 broadcasts (S240) to seek a pairing partner. Registrar 102is actuated (S250), for example, by operating registrar input element110, which may be a button or key associated with the pairing.

In response to being actuated (S250), registrar 102 is seeded (S260)with predetermined enrollee ID 130, in accordance with a preselectedseeding procedure. In certain preselected seeding procedureimplementations, predetermined enrollee ID 130 may be represented bypre-assigned indicia 132, which may be input into registrar 102, also byoperating registrar input element 110. One example of a preselectedseeding procedure includes pre-assigned seeding procedure 300, whichwill be discussed with reference to FIG. 3. Registrar 102 then receives(S270) incoming pairing message 140 from a prospective enrollee andcompares (S275) the pairing ID (PID) with predetermined enrollee ID 130.If the pairing ID matches predetermined pre-assigned enrollee ID 130 (asdetermined by a processor or the like in registrar 102), registrar 102indicates (S280) a successful pairing with enrollee 104 and continues toengage (S285) with enrollee 104 in a pre-selected security protocol. Thepre-selected security protocol may be a WLAN authentication orencryption specification, including, for example, those in accordancewith a Wired Equivalence Privacy (WEP) protocol, a WiFi Protected Access(WPA) protocol, a WiFi Protected Access 2 (WPA2) protocol, or a WiFiProtected Setup™ protocol, as promulgated by the wireless industryorganization, WiFi® Alliance, Austin, Tex., USA. However, if the pairingID does not match (S275) predetermined pre-assigned enrollee ID 130, oneor both of registrar 102 or enrollee 104 may indicate a failed pairing(S290). Alternatively, registrar 102 may ignore enrollee 104 with noindication.

FIG. 3 shows one example of a preselected seeding procedure 300(pre-assigned seeding) for use in S260 of FIG. 2. Predetermined enrolleeID 130 is first obtained (S305), for example, from pre-assigned indicia132. Predetermined enrollee ID 130 is then input (S310) to registrar 102in one of three methods, although other methods may also be suitable. Ina first method (S315), registrar input element 110 is actuated using asingle button or key. In some single-button implementations, registrarinput element 110 is actuated by pressing (S330) using a single press,multiple presses, or a sustained press (i.e., press and hold). Pressing(S330) causes registrar 102 to select and indicate (S335) on registrardisplay element 112, one or more symbols which may be representative ofpredetermined enrollee ID 130. If the displayed symbol corresponds topredetermined enrollee ID 130 (S340), input element 110 is released(S345), which causes registrar 102 to store (S350) predeterminedenrollee ID 130 in registrar memory 114. Registrar 102 is configuredwith a single button implementation where a simple registrar interfacemay be desirable. Interface display 112 may be a simple audio displaycapable of providing a perceptible indication of symbols (visual oraural) indicative of enrollee ID 130.

In a second method (S320), registrar input element 110 is a multi-keypad actuated by keystrokes corresponding to preassigned indicia 132 and,by extension, to enrollee ID 130.

In a third method (S325), predetermined enrollee ID 130 is input toregistrar 102 by actuating (S355) OOB interface 116 and transferring(S360) predetermined enrollee ID 130 to registrar 102 over OOB interface116. For example, predetermined enrollee ID 130 may be stored on aportable memory card (not shown) and transferred (S360) over OOBinterface 116 by a mating interface connection and stored (S350) inregistrar memory 114. In another embodiment of the third method,enrollee ID 130 is input (S360) via registrar OOB interface 116 using aconfiguration wizard program. For example, the user could push and holda button on registrar 102 (e.g., an access point) with a display untilthe client value appears. The user then releases the button to set thesame value for registrar 102 and finish the pairing mechanism.

FIG. 4 is a flow chart showing one example of an R-E pairing 400(registrar-assigned enrollee ID), in which predetermined enrollee ID 130is assigned by a preselected seeding procedure generally typified by aregistrar-assigned seeding procedure 500, as illustrated with respect toFIGS. 5A-C. R-E pairing 400 is initiated by actuating (S410) registrar102, for example, by operating registrar input element 110. Registrarinput element 110, such as a button or key associated with pairing, maybe operated by a network user (not shown) seeking to pair registrar 102with enrollee 104. Responsive to actuating (S410), registrar 102generates (S420) a seed representative of predetermined enrollee ID 130.One example of a seed generation procedure, suitable for S420 is aregistrar seed generation 501 in FIG. 5B. Registrar seed generation 501is a first phase of registrar-assigned seeding procedure 500. Seedgeneration by the registrar, for example, creates a personalidentification number (PIN) based on the enrollee ID.

Responsive to the seed generation procedure, registrar 102 produces aregistrar-assigned indicia on registrar display 112. The indicia may beselected as predetermined enrollee ID 130. Registrar 102 then broadcasts(S430) a pairing solicitation to prospective enrollees, which mayinclude enrollee 104. To form a trusted pair, enrollee interface 118 isoperated to actuate (S440) enrollee 104. Responsive to being actuated,enrollee 104 receives and stores (S450) the seed corresponding topredetermined enrollee ID 130, for example, in accordance with aselected seed transfer procedure. A registrar-assigned seed transfer 551in FIG. 5C is one example of a seed transfer procedure, suitable forimplementing S450, and also may be a second phase of registrar-assignedseeding procedure 500.

Actuated enrollee 104 forms (S460) pairing message 140 using enrollee ID130 as the pairing ID and exchange (S470) pairing message 140 withregistrar 102. Registrar 102 then receives (S475) pairing message 140from enrollee 104 and compares (S480) the pairing ID withregistrar-assigned predetermined enrollee ID 130 that was generated(S420) to facilitate pairing with enrollee 104. When the pairing IDmatches predetermined registrar-assigned enrollee ID 130, registrar 102indicates (S485) a successful pairing with enrollee 104. Registrar 102and enrollee 104 can then engage (S490) in a pre-selected securityprotocol, which may be a WLAN authentication or encryptionspecification, such as those in accordance with a Wired EquivalencePrivacy (WEP) protocol, a WiFi Protected Access (WPA) protocol, a WiFiProtected Access 2 (WPA2) protocol, or a WiFi Protected Setup™ protocol,as promulgated by the wireless industry organization, WiFi® Alliance. Ifthe pairing ID does not match with enrollee ID 130 (S480), the attemptedpairing is indicated as having failed (S495) or just ignored, withoutgiving any indication.

FIG. 5A illustrates one example of a registrar-assigned seedingprocedure 500, which includes registrar seed generation 501 andregistrar-assigned seed transfer 550. FIG. 5B shows one example ofregistrar seed generation 501, and FIG. 5C shows one example ofregistrar-assigned seed transfer 550.

In FIG. 5B, registrar seed generation 501 is initiated by actuating(S510) registrar seed generation in registrar 102, for example, bypressing registrar input element 110. In response, registrar 102generates (S520) a seed value, which may be associated with enrollee ID130. For example, registrar 102 generates the seed value by a singlepush or by a sustained push, where the seed value is distributed withina preselected seed value range. The seed value may correspond toenrollee ID 130, or another seed value may be generated. Once the seedvalue is generated, it is stored (S525) in registrar 102, such as inmemory 114. Registrar 102 then outputs (S530) the seed value, forexample, by producing display on registrar display element 112. Storing(S525) and outputting (S530) may be performed in any order relative toone another. The seed value is used by registrar 102 as predeterminedenrollee ID 130 for comparison with a received pairing ID, as may beused in an embodiment of R-E pairing 400.

In FIG. 5C, registrar-assigned seed transfer 550 includes providing(S555) registrar-assigned predetermined enrollee ID 130 to enrollee 104and storing (S560) registrar-assigned predetermined enrollee ID 130 inenrollee 104. Registrar-assigned predetermined enrollee ID 130 may beused subsequently by enrollee 104 for forming a pairing ID to betransmitted to registrar 102, as may be used in an embodiment of R-Epairing 400 (e.g., S460). Providing registrar-assigned predeterminedenrollee ID 130 to enrollee 104 is implemented, for example, by one ofthree methods, although other methods may also be suitable. In a firstmethod (S560), enrollee input element 124 is actuated using a singlebutton or key. In some single-button implementations, enrollee inputelement 124 is actuated by pressing (S565) using a single press,multiple presses, or a sustained press (i.e., press and hold). Pressing(S565) causes enrollee 104 to select and indicate (S570) on enrolleedisplay element 126, one or more symbols which may be representative ofpredetermined enrollee ID 130. If the displayed symbol corresponds topredetermined enrollee ID 130 (S575), input element 124 may be released(S580), which causes enrollee 104 to store (S560) predetermined enrolleeID 130 in enrollee memory 122. Enrollee 104 may be configured with asingle button implementation where a simple registrar interface may bedesirable, due to the relative simplicity of use by a network user.Interface display 126 may be a simple audio display capable of providinga perceptible indication of symbols (visual or aural) indicative ofenrollee ID 130.

In a second method (S585), enrollee input element 124 is a multi-key padactuated by keystrokes corresponding to preassigned indicia 132 and, byextension, to enrollee ID 130.

In a third method (S590), predetermined enrollee ID 130 is input toenrollee 104 by actuating (S595) OOB interface 128 and transferring(S597) predetermined enrollee ID 130 to enrollee 104 over OOB interface128. For example, predetermined enrollee ID 130 may be stored on aportable memory card (not shown) and transferred (S597) over OOBinterface 128 by a mating interface connection and stored (S560) inenrollee memory 122. In another embodiment of the third method, enrolleeID 130 is input (S597) via enrollee OOB interface 128 using aconfiguration wizard program or on another computing device (not shown),to which enrollee OOB interface 128 may be coupled. For example, theuser could push and hold a button on enrollee 104 with a display untilthe client value appears. The user then releases the button to set thesame value for enrollee 104 and finishes the pairing mechanism.

Seed generation by the registrar, for example, in creating a personalidentification number (PIN) based on the enrollee ID can be used whenthe enrollee has a user interface and the push button on the enrolleehas not been pushed first. The pushbutton on the registrar can be usedto generate a random non-zero PIN when the button is pushed. Thisnon-zero PIN would then be entered into the user interface on theenrollee. The button would then be pushed on the enrollee and WiFiSimple Config protocol exchange would occur, as discussed above. Oneadvantage this provides is in allowing the registrar to discriminate theinstance of multiple enrollees. Since the registrar selects the non-zeroPIN instead of the enrollee, the registrar knows to only admit theenrollee with the shared secret that was generated by the registrar.

Although embodiments are described within a wireless networking context,in which networked devices communicate over unguided media usingwireless elements and wireless networking protocols, certain embodimentsalso may be implemented within a wireline networking context, in whichnetworked devices communicate over guided media using hardwired elementsand wireline networking protocols. For example, one or both of registrar102 or enrollee 104 may also be integrated within other devices capableof being networked, such as a computer, a hand-held personal digitalassistant, a home entertainment device, a multifunction television, ahome security device, or a wireline telephone. Accordingly, ones of thecertain embodiments may communicate using a wireline networkingprotocol, such as an Ethernet/IEEE 802.3 LAN protocol, a power lineprotocol, a telephone line protocol, or a cable network protocol.Examples include HomePlug and MoCA.

Advantages of the present invention include 1) only requiring possibly asingle sustained push on the registrar, such as an AP, and a single pushon the enrollee or client, 2) an even distribution of the seed valueover a wide range if the number is determined by the MAC ID address orother string of numbers on the enrollee, as compared to prior methodswhich may practically only use the first few values in a range, and 3)simply and inexpensive implementation, e.g., no cost to the enrollee orclient and only an inexpensive display on the registrar.

Therefore, it should be understood that the invention can be practicedwith modification and alteration within the spirit and scope of theappended claims. The description is not intended to be exhaustive or tolimit the invention to the precise form disclosed. It should beunderstood that the invention can be practiced with modification andalteration and that the invention be limited only by the claims and theequivalents thereof.

What is claimed is:
 1. A method comprising: obtaining a pre-determined static identification from a first device, wherein the obtaining comprises a user pressing a button on a second device and holding the button until the static identification is displayed on the second device and releasing the button to input and store the static identification into the second device; generating a first pairing identification from the static identification; transmitting a first pairing message containing the first pairing identification to the first device; receiving a second pairing message from the first device containing a second pairing identification generated by the first device from the static identification; and initiating a secure communication between the first device and the second device when the first pairing identification corresponds to the second pairing identification.
 2. The method of claim 1, wherein the static identification is located on the first device.
 3. The method of claim 2, wherein the static identification comprises a number or letter from a MAC ID.
 4. The method of claim 1, wherein generating the first pairing identification is by the second device.
 5. The method of claim 1, wherein the first pairing identification is the same as the static identification.
 6. The method of claim 1, wherein the obtaining comprises transferring the static identification over an out-of-band interface.
 7. The method of claim 1, wherein the pre-determined static identification corresponds to a pre-assigned client identification.
 8. The method of claim 1, wherein the static identification is used as a seed value.
 9. An apparatus comprising: a first interface configured to receive a pairing message corresponding to a pre-determined static identification from an enrollee device; a memory configured to store the static identification; a second interface configured to generate a first pairing identification from the static identification; a button; a display element; and a processor configured to: initiate a secure communication with the enrollee device when a second pairing identification included in the pairing message corresponds with the first pairing identification; display one or more symbols using the display element when the button is pressed and held, the one or more symbols including the static identification; and store the static identification in the memory when the button is released while the static identification is displayed.
 10. The apparatus of claim 9, wherein the pre-determined static identification is located on an outer surface of the enrollee device.
 11. The apparatus of claim 10, wherein the pre-determined static identification comprises a single digit or letter from a MAC ID.
 12. A method comprising: receiving a pairing message generated from a pre-determined static identification on a first device, wherein the static identification is obtained on a second device from a user pressing a button on the second device and holding the button until the static identification is displayed on the second device and releasing the button to input and store the static identification into the second device; generating a first pairing identification from the static identification; and initiating a secure communication between the first device and the second device when a second pairing identification included in the pairing message corresponds with the first pairing identification.
 13. The method of claim 12, further comprising providing an indication to the first device if a secure communication is not initiated.
 14. The method of claim 12, further comprising providing an indication to the first device if a secure communication is initiated.
 15. The method of claim 12, wherein the static identification comprises a single element from a MAC ID.
 16. The method of claim 12, further comprising transmitting a pairing request to the first device.
 17. An apparatus comprising: a first interface configured to transmit and receive information; a second interface configured to generate a first pairing identification from pre-determined static information; a button; a display; and a processor configured to: initiate a secure communication with a registrar device when second pairing identification included in a pairing message received from the registrar device corresponds with the first pairing identification, the second pairing identification being generated by the registrar device from the static information; display one or more symbols using the display when the button is pressed and held, the one or more symbols including the static identification; and store the static identification in the memory when the button is released while the static identification is displayed.
 18. The apparatus of claim 17, wherein the pre-determined static information is located on an outer surface of the registrar device.
 19. The apparatus of claim 17, wherein the pre-determined static information comprises a single digit or letter from a MAC ID.
 20. The apparatus of claim 17, wherein the pre-determined static information corresponds to a pre-assigned enrollee identification.
 21. The apparatus of claim 17, wherein the static information is used as a seed value.
 22. A system comprising: means for receiving a pairing message generated from a pre-determined static identification on a first device; means for generating a first pairing identification from the static identification; a button; a display means; means for initiating a secure communication between the first device and a second device when a second pairing identification included in the pairing message corresponds with the first pairing identification; means for displaying one or more symbols using the display means when the button is pressed and held, the one or more symbols including the static identification; and means for storing the static identification into the second device when the button is released while the static identification is displayed. 